package xyz.xpman.prisonerfitness.dao;

import xyz.xpman.prisonerfitness.entity.User;

public interface ILocalCache {

    /**
     * 保存用户登录状态(save logged in user id for login)
     * @param id 用户id
     * @return 是否成功
     */
    boolean saveLoggedInUserId(int id);


    /**
     * 保存用户登出状态(delete logged in user id for logout)
     * @return 是否成功
     */
    boolean removeLoggedInUserId();

    /**
     * 获取已登录的用户id
     * @return 用户id
     */
    Integer getLoggedInUserId();


    /**
     * 获取当前登录的用户
     * @return 当前登录的用户
     */
    User getCurrentUser();

    /**
     * 获取当前登录的用户id
     * @return 当前登录的用户id
     */
    default Integer getCurrentUserId() {
        return getLoggedInUserId();
    }

}
